home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
system
/
diags.zip
/
DIAGS.DOC
next >
Wrap
Text File
|
1986-04-28
|
18KB
|
395 lines
DIAGS.EXE
Special Serial, Parallel, Video diagnostics for the PC
Written by Joan Riff for:
Computerwise Consulting Services
P.O. Box 813, McLean, VA 22101
(703) 280-2809
Introduction
____________
DIAGS is a tool for the advanced PC user, period. It is NOT for the
general public. This manual will not explain things in elementary terms.
If you know what a 6845 is, and what an 8250 is, and what parallel
handshaking lines are, then DIAGS will be extremely useful to you. If
not, then you may have better things to do with your time than try to
figure out this program.
DIAGS started out as a testbed for our new interrupt-driven RS232
libraries. The Serial Port Diagnostics were the first written, to test
the Microsoft version 3.0 'C' interface to these routines.
It has since grown. As we have added more assembler routines to our
library, we have added corresponding DIAGS functions to test them.
Additionally, DIAGS has been expanded as we experienced the need for new
diagnostics capabilities. So the Parallel Port diagnostics were added
when we had to debug yet another unknown printer's handshaking. And the
6845 diagnostics were added when we needed to test various video tricks
like displaying 30 lines of text, smooth scrolling, etc.
As it now stands, DIAGS is a very powerful facility for:
1) Testing all sorts of asynch communications lines
2) Testing printer handshaking and cable wiring
3) Examining an unknown system's DOS environment, including:
a) Interrupt vectors
b) Resident device handlers
4) Directly manipulating the 6845.
Main Menu
_________
The main DIAGS menu displays information about the machine and about
DOS, and presents a list of the various diagnostics that are available.
When you exit a particular diagnostic, you are returned to this main
menu.
(D)isk Info
___________
Let's describe the weakest and least important diagnostic first.
The DISK INFO selection from the main menu displays just about every-
thing that can be determined about a disk. Make sure that you have a
diskette in the indicated drive before selecting this option.
Since there are other utilities which do just about everything that you
may want to do with a disk, we haven't done much with this diagnostic.
We just display disk information as reported by DOS as well as by the
disk's Boot Record.
Once in the Disk Info screen, the following keypresses are available to
you:
ESC - return to the main DIAGS menu
ALT-V - verify a diskette by reading every sector via DOS INT
025h. This is SLOW!!!! Think of this as a demo of just how
slow INT 025h can be.
ALT-R - reset drive. Doesn't do much, huh? That's what we
wanted to see.
A thru Z - select new drive for which statistics are to be
displayed. Again, be sure that you have a disk in whatever
drive you select.
That's it. Not much to it. If you need to do more, then use:
The Norton Utilities
Quaid's Disk Explorer
Central Point Software's Option Board
(I)nterrupt Vector Display
__________________________
This selection from the main menu displays the system's Interrupt
Vectors. For each interrupt, the following information is displayed:
The interrupt number
The interrupt vector's address within segment zero
The Segment:Offset of its handler
The interrupt's name and/or use
If an interrupt points to an IRET, then that fact is reported by a
highlighted "[IRET]" displayed after the name.
Once in the Interrupt screen, the following keypresses are available to
you:
ESC - exit back to main menu
Home - scroll display back to Interrupt 0
End - scroll display to the end of the interrupts (F0 thru FF)
PgDn - scroll to the next page of vectors
PgUp - scroll up to the previous page of vectors
Up Arrow - scroll up 1 line
Down Arrow - scroll down 1 line
(P)arallel Diagnostics
______________________
This is a more complicated set of diagnostics. It allows you to do all
sorts of useful things with the parallel ports. We use these routines
when we're trying to figure out whether or not some new printer is
working properly with the system.
At the top of the screen is displayed:
The number of parallel ports on the system (1 thru 4)
The number of the currently-selected printer (0 thru 3)
The base I/O address of the currently-selected printer
The trip character that is currently set (see below)
Whether interrupts are allowed or disallowed during sampling
The Parallel Port Diagnostics menu gives you the following choices:
(I)nit printer - does a ROM BIOS "init printer" call.
(E)nable Interrupts during sampling - toggles the indicator on
the top line, which indicates whether INTs are to be dis-
allowed during sampling.
(N)ew Trip character - allows you to specify a new character
to be sent to the printer to 'trip' it. This is initially a
Linefeed.
(P)rinter switch - selects next printer (in sequence) as the
current printer.
(T)rip printer - sends the current Trip character to the
printer, and then captures the printer Status port lines using
a special high-speed capture routine. These lines are dis-
played in oscilloscope format, allowing you to see at a glance
the operation of the BUSY line, ACK line, etc. Interrupts will
be inhibited during the sampling if the top line of the
display shows "No Ints". Press ESC to exit from the display of
the status lines.
(U)nique Printer setup - sends custom codes to set various
specific printers into various modes. The printers currently
supported are:
Data Products 8070 (and perhaps IDS Color Prism)
IBM Graphics Printer (and certain Epsons)
Fujitsu DL-2600 (and perhaps Epson JX color series)
Okidata Microline 93
Diable 630 (and C.ITOH Starwriter, F-10, etc)
C.ITOH Prowriter
Follow the prompts that are displayed when you make this
selection.
(Q)uit parallel diagnostics - to return to main menu
The following three selections are invaluable for checking
proper printer cabling and handshaking:
(D)ata lines - displays the parallel port Data I/O port lines
in oscilloscope-like format. Press ESC to exit the oscillo-
scope display.
(S)tatus lines - as above, but lines displayed are from
the parallel Status I/O port.
(C)ontrol lines - as above, but lines displayed are from
parallel Control I/O port.
The following selections send various strings to the printer:
(F)ox message - sends a continuous FOX message to the printer
via direct I/O (bypassing the ROM BIOS). Press ESC to stop it.
(A)scii character set - sends the complete ASCII character set
to the printer via direct I/O (bypassing the ROM BIOS). No